#pragma once
#include <vector>
#include <cstdint>
#include <cstddef>   // ✅ 提供 size_t
#include <vector>    // ✅ 如果你使用 std::vector

namespace linkfabric {
class RingBuffer {
public:
    explicit RingBuffer(size_t capacity);
    bool push(const std::vector<uint8_t>& data);
    std::vector<uint8_t> pop();
    bool isEmpty() const;
    bool isFull() const;

private:
    std::vector<std::vector<uint8_t>> buffer_;
    size_t head_;
    size_t tail_;
    size_t size_;
    size_t capacity_;
};
}